<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>Logback Log Messages</title>
<style  type="text/css">
table { margin-left: 2em; margin-right: 2em; border-left: 2px solid #AAA; }
TR.even { background: #FFFFFF; }
TR.odd { background: #EAEAEA; }
TR.warn TD.Level, TR.error TD.Level, TR.fatal TD.Level {font-weight: bold; color: #FF4040 }
TD { padding-right: 1ex; padding-left: 1ex; border-right: 2px solid #AAA; }
TD.Time, TD.Date { text-align: right; font-family: courier, monospace; font-size: smaller; }
TD.Thread { text-align: left; }
TD.Level { text-align: right; }
TD.Logger { text-align: left; }
TR.header { background: #596ED5; color: #FFF; font-weight: bold; font-size: larger; }
TD.Exception { background: #A2AEE8; font-family: courier, monospace;}
</style>

  </head>
<body>
<hr/>
<p>Log session start time Tue Aug 19 00:28:31 CST 2025</p><p></p>

<table cellspacing="0">
<tr class="header">
<td class="Level">Level</td>
<td class="Date">Date</td>
<td class="Message">Message</td>
<td class="MethodOfCaller">MethodOfCaller</td>
<td class="FileOfCaller">FileOfCaller</td>
<td class="LineOfCaller">LineOfCaller</td>
</tr>


<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:31,567</td>
<td class="Message">HV000001: Hibernate Validator 8.0.2.Final</td>
<td class="MethodOfCaller">&lt;clinit&gt;</td>
<td class="FileOfCaller">Version.java</td>
<td class="LineOfCaller">21</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:31,650</td>
<td class="Message">Starting JeecgSystemApplication using Java 17.0.15 with PID 59045 (/Users/mac/Desktop/project/jeecg/jeecg-boot/jeecg-module-system/jeecg-system-start/target/classes started by mac in /Users/mac/Desktop/project/jeecg/jeecg-boot)</td>
<td class="MethodOfCaller">logStarting</td>
<td class="FileOfCaller">StartupInfoLogger.java</td>
<td class="LineOfCaller">53</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:31,651</td>
<td class="Message">The following 1 profile is active: &quot;dev&quot;</td>
<td class="MethodOfCaller">logStartupProfileInfo</td>
<td class="FileOfCaller">SpringApplication.java</td>
<td class="LineOfCaller">658</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:34,879</td>
<td class="Message">Multiple Spring Data modules found, entering strict repository configuration mode</td>
<td class="MethodOfCaller">multipleStoresDetected</td>
<td class="FileOfCaller">RepositoryConfigurationDelegate.java</td>
<td class="LineOfCaller">295</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:34,882</td>
<td class="Message">Bootstrapping Spring Data Redis repositories in DEFAULT mode.</td>
<td class="MethodOfCaller">registerRepositoriesIn</td>
<td class="FileOfCaller">RepositoryConfigurationDelegate.java</td>
<td class="LineOfCaller">143</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,005</td>
<td class="Message">Finished Spring Data repository scanning in 107 ms. Found 0 Redis repository interfaces.</td>
<td class="MethodOfCaller">registerRepositoriesIn</td>
<td class="FileOfCaller">RepositoryConfigurationDelegate.java</td>
<td class="LineOfCaller">211</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,102</td>
<td class="Message"> ******************* init miniDao config [ begin ] *********************** </td>
<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
<td class="LineOfCaller">23</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,102</td>
<td class="Message"> ------ minidao.base-package ------- org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*</td>
<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
<td class="LineOfCaller">25</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,103</td>
<td class="Message"> *******************  init miniDao config  [ end ] *********************** </td>
<td class="MethodOfCaller">miniDaoBeanScannerConfigurer</td>
<td class="FileOfCaller">MinidaoAutoConfiguration.java</td>
<td class="LineOfCaller">42</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,339</td>
<td class="Message">Overriding bean definition for bean &#39;classifier&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.a; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/a.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,340</td>
<td class="Message">Overriding bean definition for bean &#39;end&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.b; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/b.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,341</td>
<td class="Message">Overriding bean definition for bean &#39;http&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.c; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/c.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,342</td>
<td class="Message">Overriding bean definition for bean &#39;knowledge&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.d; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/d.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,344</td>
<td class="Message">Overriding bean definition for bean &#39;llm&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.e; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/e.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,346</td>
<td class="Message">Overriding bean definition for bean &#39;enhanceJava&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.enhance.a; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/enhance/a.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,347</td>
<td class="Message">Overriding bean definition for bean &#39;reply&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.f; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/f.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,348</td>
<td class="Message">Overriding bean definition for bean &#39;start&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.g; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/g.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,349</td>
<td class="Message">Overriding bean definition for bean &#39;subflow&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.h; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/h.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,351</td>
<td class="Message">Overriding bean definition for bean &#39;switch&#39; with a different definition: replacing [Generic bean: class=org.jeecg.modules.airag.flow.component.i; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in URL [jar:file:/Users/mac/.m2/repository/org/jeecgframework/boot3/jeecg-aiflow/1.1.1/jeecg-aiflow-1.1.1.jar!/org/jeecg/modules/airag/flow/component/i.class]] with [Generic bean: class=com.yomahub.liteflow.core.proxy.DeclWarpBean; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; fallback=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null]</td>
<td class="MethodOfCaller">logBeanDefinitionOverriding</td>
<td class="FileOfCaller">DefaultListableBeanFactory.java</td>
<td class="LineOfCaller">1333</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,823</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportCategoryDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,823</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,824</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDataSourceDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,824</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,824</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbFieldDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,824</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDbParamDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,824</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDictDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,825</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportDictItemDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,825</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportExportJobDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,825</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportExportLogDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,826</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportLinkDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,826</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportMapDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,826</td>
<td class="Message">register minidao name is { org.jeecg.modules.jmreport.desreport.dao.JimuReportShareDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,826</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.JimuDragCategoryDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,826</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.JimuDragMapDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,827</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.JimuReportIconLibDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,827</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragCompDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,827</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragDataSourceDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,828</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragDatasetHeadDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,828</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragDatasetItemDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,828</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragDatasetParamDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,828</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragPageCompDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,828</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragPageDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:35,829</td>
<td class="Message">register minidao name is { org.jeecg.modules.drag.dao.OnlDragShareDao }</td>
<td class="MethodOfCaller">doScan</td>
<td class="FileOfCaller">MiniDaoClassPathMapperScanner.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="warn odd">
<td class="Level">WARN</td>
<td class="Date">2025-08-19 00:28:35,833</td>
<td class="Message">Cannot enhance @Configuration bean definition &#39;com.yomahub.liteflow.springboot.config.LiteflowMainAutoConfiguration&#39; since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as &#39;static&#39; and/or marking the containing configuration class as &#39;proxyBeanMethods=false&#39;.</td>
<td class="MethodOfCaller">enhanceConfigurationClasses</td>
<td class="FileOfCaller">ConfigurationClassPostProcessor.java</td>
<td class="LineOfCaller">514</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:36,665</td>
<td class="Message">===============(1)创建缓存管理器RedisCacheManager</td>
<td class="MethodOfCaller">redisCacheManager</td>
<td class="FileOfCaller">ShiroConfig.java</td>
<td class="LineOfCaller">299</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:36,669</td>
<td class="Message">===============(2)创建RedisManager,连接Redis..</td>
<td class="MethodOfCaller">redisManager</td>
<td class="FileOfCaller">ShiroConfig.java</td>
<td class="LineOfCaller">320</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:37,622</td>
<td class="Message">Initializing Spring embedded WebApplicationContext</td>
<td class="MethodOfCaller">log</td>
<td class="FileOfCaller">ServletContextImpl.java</td>
<td class="LineOfCaller">372</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:37,622</td>
<td class="Message">Root WebApplicationContext: initialization completed in 5426 ms</td>
<td class="MethodOfCaller">prepareWebApplicationContext</td>
<td class="FileOfCaller">ServletWebServerApplicationContext.java</td>
<td class="LineOfCaller">301</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:38,541</td>
<td class="Message">{dataSource-1,master} inited</td>
<td class="MethodOfCaller">init</td>
<td class="FileOfCaller">DruidDataSource.java</td>
<td class="LineOfCaller">673</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:38,542</td>
<td class="Message">dynamic-datasource - add a datasource named [master] success</td>
<td class="MethodOfCaller">addDataSource</td>
<td class="FileOfCaller">DynamicRoutingDataSource.java</td>
<td class="LineOfCaller">154</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:38,542</td>
<td class="Message">dynamic-datasource initial loaded [1] datasource,primary datasource named [master]</td>
<td class="MethodOfCaller">afterPropertiesSet</td>
<td class="FileOfCaller">DynamicRoutingDataSource.java</td>
<td class="LineOfCaller">237</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:38,623</td>
<td class="Message">当前数据库类型: MYSQL</td>
<td class="MethodOfCaller">mybatisPlusInterceptor</td>
<td class="FileOfCaller">MybatisPlusSaasConfig.java</td>
<td class="LineOfCaller">138</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:40,666</td>
<td class="Message"> --- redis config init --- </td>
<td class="MethodOfCaller">redisTemplate</td>
<td class="FileOfCaller">RedisConfig.java</td>
<td class="LineOfCaller">56</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,218</td>
<td class="Message">Using default implementation for ThreadExecutor</td>
<td class="MethodOfCaller">instantiate</td>
<td class="FileOfCaller">StdSchedulerFactory.java</td>
<td class="LineOfCaller">1220</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,220</td>
<td class="Message">Job execution threads will use class loader of thread: main</td>
<td class="MethodOfCaller">initialize</td>
<td class="FileOfCaller">SimpleThreadPool.java</td>
<td class="LineOfCaller">268</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,234</td>
<td class="Message">Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl</td>
<td class="MethodOfCaller">&lt;init&gt;</td>
<td class="FileOfCaller">SchedulerSignalerImpl.java</td>
<td class="LineOfCaller">61</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,235</td>
<td class="Message">Quartz Scheduler v.2.3.2 created.</td>
<td class="MethodOfCaller">&lt;init&gt;</td>
<td class="FileOfCaller">QuartzScheduler.java</td>
<td class="LineOfCaller">229</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,240</td>
<td class="Message">Using db table-based data access locking (synchronization).</td>
<td class="MethodOfCaller">initialize</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">672</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,243</td>
<td class="Message">JobStoreCMT initialized.</td>
<td class="MethodOfCaller">initialize</td>
<td class="FileOfCaller">JobStoreCMT.java</td>
<td class="LineOfCaller">145</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,244</td>
<td class="Message">Scheduler meta-data: Quartz Scheduler (v2.3.2) &#39;MyScheduler&#39; with instanceId &#39;192.168.1.1121755534523220&#39;
  Scheduler class: &#39;org.quartz.core.QuartzScheduler&#39; - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool &#39;org.quartz.simpl.SimpleThreadPool&#39; - with 10 threads.
  Using job-store &#39;org.springframework.scheduling.quartz.LocalDataSourceJobStore&#39; - which supports persistence. and is clustered.
</td>
<td class="MethodOfCaller">initialize</td>
<td class="FileOfCaller">QuartzScheduler.java</td>
<td class="LineOfCaller">294</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,245</td>
<td class="Message">Quartz scheduler &#39;MyScheduler&#39; initialized from an externally provided properties instance.</td>
<td class="MethodOfCaller">instantiate</td>
<td class="FileOfCaller">StdSchedulerFactory.java</td>
<td class="LineOfCaller">1374</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,245</td>
<td class="Message">Quartz scheduler version: 2.3.2</td>
<td class="MethodOfCaller">instantiate</td>
<td class="FileOfCaller">StdSchedulerFactory.java</td>
<td class="LineOfCaller">1378</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:43,245</td>
<td class="Message">JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@58830b31</td>
<td class="MethodOfCaller">setJobFactory</td>
<td class="FileOfCaller">QuartzScheduler.java</td>
<td class="LineOfCaller">2293</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,208</td>
<td class="Message">component aspect implement[nodeProcessAspect] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">CmpAroundAspectBeanProcess.java</td>
<td class="LineOfCaller">32</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,500</td>
<td class="Message">proxy component[classifier] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,514</td>
<td class="Message">proxy component[end] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,529</td>
<td class="Message">proxy component[http] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,543</td>
<td class="Message">proxy component[knowledge] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,557</td>
<td class="Message">proxy component[llm] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,572</td>
<td class="Message">proxy component[enhanceJava] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,584</td>
<td class="Message">proxy component[reply] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,595</td>
<td class="Message">proxy component[start] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,607</td>
<td class="Message">proxy component[subflow] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:46,620</td>
<td class="Message">proxy component[switch] has been found</td>
<td class="MethodOfCaller">postProcessAfterInitialization</td>
<td class="FileOfCaller">DeclWarpBeanProcess.java</td>
<td class="LineOfCaller">37</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:48,814</td>
<td class="Message">Init Token ignoreAuthUrls Config [ 集合 ]  ：[/openapi/demo/index, /test/jeecgDemo/html, /airag/flow/run, /airag/flow/run/*, /airag/app/queryById, /airag/chat/send, /airag/chat/upload, /airag/chat/init, /airag/chat/conversations, /airag/chat/conversation/*, /airag/chat/conversation/update/title, /airag/chat/messages, /airag/chat/messages/clear/*, /airag/chat/stop/*]</td>
<td class="MethodOfCaller">afterPropertiesSet</td>
<td class="FileOfCaller">IgnoreAuthPostProcessor.java</td>
<td class="LineOfCaller">41</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:48,816</td>
<td class="Message">Init Token ignoreAuthUrls Config [ 耗时 ] ：7毫秒</td>
<td class="MethodOfCaller">afterPropertiesSet</td>
<td class="FileOfCaller">IgnoreAuthPostProcessor.java</td>
<td class="LineOfCaller">49</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:48,836</td>
<td class="Message"> Init CodeGenerate Config [ Get Db Config From application.yml ] </td>
<td class="MethodOfCaller">initCodeGenerateDbConfig</td>
<td class="FileOfCaller">CodeGenerateDbConfig.java</td>
<td class="LineOfCaller">50</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:49,932</td>
<td class="Message">Register ApplicationContext instances org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@6a933be2</td>
<td class="MethodOfCaller">setApplicationContext</td>
<td class="FileOfCaller">MybatisPlusApplicationContextAware.java</td>
<td class="LineOfCaller">40</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,303</td>
<td class="Message">Exposing 3 endpoints beneath base path &#39;/actuator&#39;</td>
<td class="MethodOfCaller">&lt;init&gt;</td>
<td class="FileOfCaller">EndpointLinksResolver.java</td>
<td class="LineOfCaller">60</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,471</td>
<td class="Message">UT026003: Adding annotated server endpoint class org.jeecg.modules.message.websocket.WebSocket for path /websocket/{userId}</td>
<td class="MethodOfCaller">addEndpointInternal</td>
<td class="FileOfCaller">ServerWebSocketContainer.java</td>
<td class="LineOfCaller">647</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,479</td>
<td class="Message">UT026003: Adding annotated server endpoint class org.jeecg.modules.drag.config.websocket.DragChannelWebSocket for path /dragChannelSocket/{token}</td>
<td class="MethodOfCaller">addEndpointInternal</td>
<td class="FileOfCaller">ServerWebSocketContainer.java</td>
<td class="LineOfCaller">647</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,480</td>
<td class="Message">UT026003: Adding annotated server endpoint class org.jeecg.modules.drag.config.websocket.DragWebSocket for path /websocket/drag/{chartId}</td>
<td class="MethodOfCaller">addEndpointInternal</td>
<td class="FileOfCaller">ServerWebSocketContainer.java</td>
<td class="LineOfCaller">647</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,480</td>
<td class="Message">UT026003: Adding annotated server endpoint class org.jeecg.modules.demo.mock.vxe.websocket.VxeSocket for path /vxeSocket/{userId}/{pageId}</td>
<td class="MethodOfCaller">addEndpointInternal</td>
<td class="FileOfCaller">ServerWebSocketContainer.java</td>
<td class="LineOfCaller">647</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,521</td>
<td class="Message">flow info loaded from class config with el,class=com.yomahub.liteflow.parser.sql.SQLXmlELParser</td>
<td class="MethodOfCaller">info</td>
<td class="FileOfCaller">LFLog.java</td>
<td class="LineOfCaller">193</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,556</td>
<td class="Message">query sql: select id, application_name, chain from airag_flow where status = &#39;enable&#39; and chain is not null</td>
<td class="MethodOfCaller">info</td>
<td class="FileOfCaller">LFLog.java</td>
<td class="LineOfCaller">186</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:51,589</td>
<td class="Message">use dataSourceName[dataSource],has found liteflow config</td>
<td class="MethodOfCaller">getConn</td>
<td class="FileOfCaller">LiteFlowJdbcUtil.java</td>
<td class="LineOfCaller">43</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,246</td>
<td class="Message">starting server: Undertow - 2.3.18.Final</td>
<td class="MethodOfCaller">start</td>
<td class="FileOfCaller">Undertow.java</td>
<td class="LineOfCaller">120</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,249</td>
<td class="Message">Initializing Spring DispatcherServlet &#39;dispatcherServlet&#39;</td>
<td class="MethodOfCaller">log</td>
<td class="FileOfCaller">ServletContextImpl.java</td>
<td class="LineOfCaller">372</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,250</td>
<td class="Message">Initializing Servlet &#39;dispatcherServlet&#39;</td>
<td class="MethodOfCaller">initServletBean</td>
<td class="FileOfCaller">FrameworkServlet.java</td>
<td class="LineOfCaller">532</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,254</td>
<td class="Message">Completed initialization in 3 ms</td>
<td class="MethodOfCaller">initServletBean</td>
<td class="FileOfCaller">FrameworkServlet.java</td>
<td class="LineOfCaller">554</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,265</td>
<td class="Message">XNIO version 3.8.16.Final</td>
<td class="MethodOfCaller">&lt;clinit&gt;</td>
<td class="FileOfCaller">Xnio.java</td>
<td class="LineOfCaller">95</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,295</td>
<td class="Message">XNIO NIO Implementation Version 3.8.16.Final</td>
<td class="MethodOfCaller">&lt;clinit&gt;</td>
<td class="FileOfCaller">NioXnio.java</td>
<td class="LineOfCaller">58</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,348</td>
<td class="Message">JBoss Threads version 3.5.0.Final</td>
<td class="MethodOfCaller">&lt;clinit&gt;</td>
<td class="FileOfCaller">Version.java</td>
<td class="LineOfCaller">55</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,414</td>
<td class="Message">Undertow started on port 8080 (http) with context path &#39;/jeecg-boot&#39;</td>
<td class="MethodOfCaller">start</td>
<td class="FileOfCaller">UndertowWebServer.java</td>
<td class="LineOfCaller">121</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,926</td>
<td class="Message">Will start Quartz Scheduler [MyScheduler] in 1 seconds</td>
<td class="MethodOfCaller">startScheduler</td>
<td class="FileOfCaller">SchedulerFactoryBean.java</td>
<td class="LineOfCaller">735</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,963</td>
<td class="Message">Started JeecgSystemApplication in 22.086 seconds (process running for 23.121)</td>
<td class="MethodOfCaller">logStarted</td>
<td class="FileOfCaller">StartupInfoLogger.java</td>
<td class="LineOfCaller">59</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:52,971</td>
<td class="Message"> Init Code Generate Template [ 检测如果是JAR启动，Copy模板到config目录 ] </td>
<td class="MethodOfCaller">onApplicationEvent</td>
<td class="FileOfCaller">CodeTemplateInitListener.java</td>
<td class="LineOfCaller">30</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:53,008</td>
<td class="Message"> Init Code Generate Template completed in 37 ms</td>
<td class="MethodOfCaller">onApplicationEvent</td>
<td class="FileOfCaller">CodeTemplateInitListener.java</td>
<td class="LineOfCaller">33</td>
</tr>

<tr class="warn even">
<td class="Level">WARN</td>
<td class="Date">2025-08-19 00:28:53,012</td>
<td class="Message">A MeterFilter is being configured after a Meter has been registered to this registry. All MeterFilters should be configured before any Meters are registered. If that is not possible or you have a use case where it should be allowed, let the Micrometer maintainers know at https://github.com/micrometer-metrics/micrometer/issues/4920. Enable DEBUG level logging on this logger to see a stack trace of the call configuring this MeterFilter.</td>
<td class="MethodOfCaller">logWarningAboutLateFilter</td>
<td class="FileOfCaller">MeterRegistry.java</td>
<td class="LineOfCaller">881</td>
</tr>

<tr class="warn odd">
<td class="Level">WARN</td>
<td class="Date">2025-08-19 00:28:53,013</td>
<td class="Message">A MeterFilter is being configured after a Meter has been registered to this registry. All MeterFilters should be configured before any Meters are registered. If that is not possible or you have a use case where it should be allowed, let the Micrometer maintainers know at https://github.com/micrometer-metrics/micrometer/issues/4920. Enable DEBUG level logging on this logger to see a stack trace of the call configuring this MeterFilter.</td>
<td class="MethodOfCaller">logWarningAboutLateFilter</td>
<td class="FileOfCaller">MeterRegistry.java</td>
<td class="LineOfCaller">881</td>
</tr>

<tr class="warn even">
<td class="Level">WARN</td>
<td class="Date">2025-08-19 00:28:53,014</td>
<td class="Message">A MeterFilter is being configured after a Meter has been registered to this registry. All MeterFilters should be configured before any Meters are registered. If that is not possible or you have a use case where it should be allowed, let the Micrometer maintainers know at https://github.com/micrometer-metrics/micrometer/issues/4920. Enable DEBUG level logging on this logger to see a stack trace of the call configuring this MeterFilter.</td>
<td class="MethodOfCaller">logWarningAboutLateFilter</td>
<td class="FileOfCaller">MeterRegistry.java</td>
<td class="LineOfCaller">881</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:53,049</td>
<td class="Message">
----------------------------------------------------------
	Application Jeecg-Boot is running! Access URLs:
	Local: 		http://localhost:8080/jeecg-boot
	External: 	http://192.168.1.112:8080/jeecg-boot/doc.html
	Swagger文档: 	http://192.168.1.112:8080/jeecg-boot/doc.html
----------------------------------------------------------</td>
<td class="MethodOfCaller">main</td>
<td class="FileOfCaller">JeecgSystemApplication.java</td>
<td class="LineOfCaller">47</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:53,928</td>
<td class="Message">Starting Quartz Scheduler now, after delay of 1 seconds</td>
<td class="MethodOfCaller">lambda$startScheduler$0</td>
<td class="FileOfCaller">SchedulerFactoryBean.java</td>
<td class="LineOfCaller">749</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:53,957</td>
<td class="Message">ClusterManager: detected 1 failed or restarted instances.</td>
<td class="MethodOfCaller">logWarnIfNonZero</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">3644</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:53,957</td>
<td class="Message">ClusterManager: Scanning for instance &quot;192.168.1.1121755533663592&quot;&#39;s failed in-progress jobs.</td>
<td class="MethodOfCaller">clusterRecover</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">3503</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:28:53,969</td>
<td class="Message">Scheduler MyScheduler_$_192.168.1.1121755534523220 started.</td>
<td class="MethodOfCaller">start</td>
<td class="FileOfCaller">QuartzScheduler.java</td>
<td class="LineOfCaller">547</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:19,115</td>
<td class="Message">-----查询近两个月收到的未读通知-----，近2月的第一天：2025-07-01 00:00:00</td>
<td class="MethodOfCaller">listByUser</td>
<td class="FileOfCaller">SysAnnouncementController.java</td>
<td class="LineOfCaller">388</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:19,153</td>
<td class="Message">begin 获取用户近2个月的系统公告 (通知)49毫秒</td>
<td class="MethodOfCaller">listByUser</td>
<td class="FileOfCaller">SysAnnouncementController.java</td>
<td class="LineOfCaller">403</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:19,178</td>
<td class="Message">end 获取用户2个月的系统公告 (系统消息)74毫秒</td>
<td class="MethodOfCaller">listByUser</td>
<td class="FileOfCaller">SysAnnouncementController.java</td>
<td class="LineOfCaller">411</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:34,948</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:36,547</td>
<td class="Message"> path = /online/cgform/head/list</td>
<td class="MethodOfCaller">getOnlinePossiblePaths</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">1805</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:36,547</td>
<td class="Message">获取的菜单地址= [/online/cgform/head/list]</td>
<td class="MethodOfCaller">queryPermissionDataRule</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">201</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:36,570</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:38,015</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:42,656</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:47,399</td>
<td class="Message"> 用户名:  管理员,退出成功！ </td>
<td class="MethodOfCaller">logout</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">198</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:29:48,190</td>
<td class="Message">获取验证码，Redis key = 4eec2cbc46157715877da22ab36ec53e2btq，checkCode = 2BTq</td>
<td class="MethodOfCaller">randomImage</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">554</td>
</tr>

<tr class="error odd">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:30:40,211</td>
<td class="Message">{conn-10004, pstmt-20003} execute error. SELECT * FROM QRTZ_SCHEDULER_STATE WHERE SCHED_NAME = &#39;MyScheduler&#39;</td>
<td class="MethodOfCaller">statementLogError</td>
<td class="FileOfCaller">Slf4jLogFilter.java</td>
<td class="LineOfCaller">157</td>
</tr>
<tr><td class="Exception" colspan="6">java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_scheduler_state&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectSchedulerStateRecords(StdJDBCDelegate.java:2994)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3384)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:3470)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3330)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3935)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3972)
</td></tr>
<tr class="error even">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:30:40,220</td>
<td class="Message">ClusterManager: Error managing cluster: Failure identifying failed instances when checking-in: Table &#39;jeecg-boot.qrtz_scheduler_state&#39; doesn&#39;t exist</td>
<td class="MethodOfCaller">manage</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">3941</td>
</tr>
<tr><td class="Exception" colspan="6">org.quartz.JobPersistenceException: Failure identifying failed instances when checking-in: Table &#39;jeecg-boot.qrtz_scheduler_state&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3420)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:3470)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3330)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3935)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3972)
<br />Caused by: java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_scheduler_state&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectSchedulerStateRecords(StdJDBCDelegate.java:2994)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3384)
<br />&nbsp;&nbsp;&nbsp;&nbsp;	... 4 common frames omitted
</td></tr>
<tr class="error odd">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:30:42,007</td>
<td class="Message">{conn-10004, pstmt-20010} execute error. SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE SCHED_NAME = &#39;MyScheduler&#39; AND NOT (MISFIRE_INSTR = -1) AND NEXT_FIRE_TIME &lt; ? AND TRIGGER_STATE = ?</td>
<td class="MethodOfCaller">statementLogError</td>
<td class="FileOfCaller">Slf4jLogFilter.java</td>
<td class="LineOfCaller">157</td>
</tr>
<tr><td class="Exception" colspan="6">java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.countMisfiredTriggersInState(StdJDBCDelegate.java:393)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3253)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:4012)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:4033)
</td></tr>
<tr class="error even">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:30:42,010</td>
<td class="Message">MisfireHandler: Error handling misfires: Database error recovering from misfires.</td>
<td class="MethodOfCaller">manage</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">4017</td>
</tr>
<tr><td class="Exception" colspan="6">org.quartz.JobPersistenceException: Database error recovering from misfires.
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3274)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:4012)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:4033)
<br />Caused by: java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.countMisfiredTriggersInState(StdJDBCDelegate.java:393)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3253)
<br />&nbsp;&nbsp;&nbsp;&nbsp;	... 2 common frames omitted
</td></tr>
<tr class="error odd">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:30:55,229</td>
<td class="Message">{conn-10004, pstmt-20040} execute error. SELECT * FROM QRTZ_SCHEDULER_STATE WHERE SCHED_NAME = &#39;MyScheduler&#39;</td>
<td class="MethodOfCaller">statementLogError</td>
<td class="FileOfCaller">Slf4jLogFilter.java</td>
<td class="LineOfCaller">157</td>
</tr>
<tr><td class="Exception" colspan="6">java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_scheduler_state&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectSchedulerStateRecords(StdJDBCDelegate.java:2994)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3384)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:3470)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3330)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3935)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3972)
</td></tr>
<tr class="error even">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:30:57,045</td>
<td class="Message">{conn-10004, pstmt-20041} execute error. SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE SCHED_NAME = &#39;MyScheduler&#39; AND NOT (MISFIRE_INSTR = -1) AND NEXT_FIRE_TIME &lt; ? AND TRIGGER_STATE = ?</td>
<td class="MethodOfCaller">statementLogError</td>
<td class="FileOfCaller">Slf4jLogFilter.java</td>
<td class="LineOfCaller">157</td>
</tr>
<tr><td class="Exception" colspan="6">java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.countMisfiredTriggersInState(StdJDBCDelegate.java:393)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3253)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:4012)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:4033)
</td></tr>
<tr class="error odd">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:31:06,295</td>
<td class="Message">{conn-10004, pstmt-20025} execute error. SELECT TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY FROM QRTZ_TRIGGERS WHERE SCHED_NAME = &#39;MyScheduler&#39; AND TRIGGER_STATE = ? AND NEXT_FIRE_TIME &lt;= ? AND (MISFIRE_INSTR = -1 OR (MISFIRE_INSTR != -1 AND NEXT_FIRE_TIME &gt;= ?)) ORDER BY NEXT_FIRE_TIME ASC, PRIORITY DESC</td>
<td class="MethodOfCaller">statementLogError</td>
<td class="FileOfCaller">Slf4jLogFilter.java</td>
<td class="LineOfCaller">157</td>
</tr>
<tr><td class="Exception" colspan="6">java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTriggerToAcquire(StdJDBCDelegate.java:2613)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2844)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:2805)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:2803)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3864)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2802)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:287)
</td></tr>
<tr class="error even">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:31:06,299</td>
<td class="Message">An error occurred while scanning for the next triggers to fire.</td>
<td class="MethodOfCaller">schedulerError</td>
<td class="FileOfCaller">QuartzScheduler.java</td>
<td class="LineOfCaller">2407</td>
</tr>
<tr><td class="Exception" colspan="6">org.quartz.JobPersistenceException: Couldn&#39;t acquire next trigger: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2923)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:2805)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:2803)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3864)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2802)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:287)
<br />Caused by: java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTriggerToAcquire(StdJDBCDelegate.java:2613)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2844)
<br />&nbsp;&nbsp;&nbsp;&nbsp;	... 5 common frames omitted
</td></tr>
<tr class="error odd">
<td class="Level">ERROR</td>
<td class="Date">2025-08-19 00:31:06,302</td>
<td class="Message">{conn-10004, pstmt-20042} execute error. SELECT TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY FROM QRTZ_TRIGGERS WHERE SCHED_NAME = &#39;MyScheduler&#39; AND TRIGGER_STATE = ? AND NEXT_FIRE_TIME &lt;= ? AND (MISFIRE_INSTR = -1 OR (MISFIRE_INSTR != -1 AND NEXT_FIRE_TIME &gt;= ?)) ORDER BY NEXT_FIRE_TIME ASC, PRIORITY DESC</td>
<td class="MethodOfCaller">statementLogError</td>
<td class="FileOfCaller">Slf4jLogFilter.java</td>
<td class="LineOfCaller">157</td>
</tr>
<tr><td class="Exception" colspan="6">java.sql.SQLSyntaxErrorException: Table &#39;jeecg-boot.qrtz_triggers&#39; doesn&#39;t exist
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3241)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:459)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3238)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:175)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:213)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTriggerToAcquire(StdJDBCDelegate.java:2613)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2844)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:2805)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:2803)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3864)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2802)
<br />&nbsp;&nbsp;&nbsp;&nbsp;at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:287)
</td></tr>
<tr class="warn even">
<td class="Level">WARN</td>
<td class="Date">2025-08-19 00:31:10,237</td>
<td class="Message">This scheduler instance (192.168.1.1121755534523220) is still active but was recovered by another instance in the cluster.  This may cause inconsistent behavior.</td>
<td class="MethodOfCaller">findFailedInstances</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">3411</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:10,246</td>
<td class="Message">ClusterManager: detected 1 failed or restarted instances.</td>
<td class="MethodOfCaller">logWarnIfNonZero</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">3644</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:10,247</td>
<td class="Message">ClusterManager: Scanning for instance &quot;qin1753932532893&quot;&#39;s failed in-progress jobs.</td>
<td class="MethodOfCaller">clusterRecover</td>
<td class="FileOfCaller">JobStoreSupport.java</td>
<td class="LineOfCaller">3503</td>
</tr>

<tr class="warn odd">
<td class="Level">WARN</td>
<td class="Date">2025-08-19 00:31:18,649</td>
<td class="Message">验证码错误，key= 17555345880625x3t , Ui checkCode= 2btq, Redis checkCode = null</td>
<td class="MethodOfCaller">login</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">98</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:18,706</td>
<td class="Message">获取验证码，Redis key = bc861eec1ccac1e69856357aa07bc7948baz，checkCode = 8Baz</td>
<td class="MethodOfCaller">randomImage</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">554</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,072</td>
<td class="Message"> 登录接口用户的租户ID = 0</td>
<td class="MethodOfCaller">setLoginTenant</td>
<td class="FileOfCaller">SysUserServiceImpl.java</td>
<td class="LineOfCaller">982</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,120</td>
<td class="Message">加密操作，Aspect程序耗时：2ms</td>
<td class="MethodOfCaller">around</td>
<td class="FileOfCaller">SensitiveDataAspect.java</td>
<td class="LineOfCaller">76</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,139</td>
<td class="Message">1 获取用户信息耗时（用户基础信息）6毫秒</td>
<td class="MethodOfCaller">getUserInfo</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">150</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,157</td>
<td class="Message">2 获取用户信息耗时 (首页面配置)24毫秒</td>
<td class="MethodOfCaller">getUserInfo</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">165</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,157</td>
<td class="Message">&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;</td>
<td class="MethodOfCaller">queryAllDictItems</td>
<td class="FileOfCaller">SysDictServiceImpl.java</td>
<td class="LineOfCaller">165</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,169</td>
<td class="Message">      &gt;&gt;&gt; 1 获取系统字典项耗时（SQL）：12毫秒</td>
<td class="MethodOfCaller">queryAllDictItems</td>
<td class="FileOfCaller">SysDictServiceImpl.java</td>
<td class="LineOfCaller">184</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,224</td>
<td class="Message">      &gt;&gt;&gt; 2 获取系统字典项耗时（Enum）：66毫秒</td>
<td class="MethodOfCaller">queryAllDictItems</td>
<td class="FileOfCaller">SysDictServiceImpl.java</td>
<td class="LineOfCaller">188</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,224</td>
<td class="Message">      &gt;&gt;&gt; end 获取系统字典库总耗时：67毫秒</td>
<td class="MethodOfCaller">queryAllDictItems</td>
<td class="FileOfCaller">SysDictServiceImpl.java</td>
<td class="LineOfCaller">190</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,224</td>
<td class="Message">&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;</td>
<td class="MethodOfCaller">queryAllDictItems</td>
<td class="FileOfCaller">SysDictServiceImpl.java</td>
<td class="LineOfCaller">191</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,224</td>
<td class="Message">3 获取用户信息耗时 (字典数据)91毫秒</td>
<td class="MethodOfCaller">getUserInfo</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">169</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:27,225</td>
<td class="Message">end 获取用户信息耗时 91毫秒</td>
<td class="MethodOfCaller">getUserInfo</td>
<td class="FileOfCaller">LoginController.java</td>
<td class="LineOfCaller">174</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:28,951</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:29,043</td>
<td class="Message">-----查询近两个月收到的未读通知-----，近2月的第一天：2025-07-01 00:00:00</td>
<td class="MethodOfCaller">listByUser</td>
<td class="FileOfCaller">SysAnnouncementController.java</td>
<td class="LineOfCaller">388</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:29,060</td>
<td class="Message">begin 获取用户近2个月的系统公告 (通知)17毫秒</td>
<td class="MethodOfCaller">listByUser</td>
<td class="FileOfCaller">SysAnnouncementController.java</td>
<td class="LineOfCaller">403</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:29,076</td>
<td class="Message">end 获取用户2个月的系统公告 (系统消息)33毫秒</td>
<td class="MethodOfCaller">listByUser</td>
<td class="FileOfCaller">SysAnnouncementController.java</td>
<td class="LineOfCaller">411</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,104</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,169</td>
<td class="Message">字典拼接的查询SQL：select realname,username from sys_user</td>
<td class="MethodOfCaller">isPassByDict</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">127</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,182</td>
<td class="Message">获取select sql信息 ：{sys_user=SelectSqlInfo{fromTableName=&#39;sys_user&#39;, fromSubSelect=null, aliasName=&#39;null&#39;, selectFields=[realname, username], realSelectFields=[realname, username], selectAll=false}} </td>
<td class="MethodOfCaller">isPassBySql</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">76</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,205</td>
<td class="Message">表字典白名单初始化完成：{sys_permission=id,name, sys_position=name,id, onl_drag_comp=id,comp_name, test_shoptype_tree=type_name,id, sys_dict=dict_code, airag_flow=name,id, oa_officialdoc_organcode=id,organ_name, demo=id,name, tj_user_report=name,username, sys_role=role_name,role_code, design_form=id,desform_name,desform_code, ces_shop_type=name,pid,id,has_child, sys_depart=id,org_code,depart_name, sys_user=phone,work_no,id,email,realname,username, onl_cgreport_head=code, sys_data_source=code,name, wu_liao=wul_name,id, sys_sms_template=template_code, sys_category=id,name, onl_cgform_head=table_txt,table_name, oa_wps_file=id,name, sys_tenant=name,id, airag_model=name,id}</td>
<td class="MethodOfCaller">init</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">59</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,206</td>
<td class="Message">checkWhiteList tableName: sys_user</td>
<td class="MethodOfCaller">checkWhiteList</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">156</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,206</td>
<td class="Message">白名单校验：查询表&quot;sys_user&quot;，查询字段 [realname, username] 通过校验</td>
<td class="MethodOfCaller">checkWhiteList</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">195</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,211</td>
<td class="Message">  获取sql信息 ：[QueryTable{name=&#39;sys_user&#39;, alias=&#39;&#39;, fields=[realname, username], all=false}] </td>
<td class="MethodOfCaller">isPass</td>
<td class="FileOfCaller">AbstractQueryBlackListHandler.java</td>
<td class="LineOfCaller">66</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,224</td>
<td class="Message">字典拼接的查询SQL：select name,id from airag_flow where status = &#39;enable&#39; </td>
<td class="MethodOfCaller">isPassByDict</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">127</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,226</td>
<td class="Message">获取select sql信息 ：{airag_flow=SelectSqlInfo{fromTableName=&#39;airag_flow&#39;, fromSubSelect=null, aliasName=&#39;null&#39;, selectFields=[name, id], realSelectFields=[name, id], selectAll=false}} </td>
<td class="MethodOfCaller">isPassBySql</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">76</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,233</td>
<td class="Message">表字典白名单初始化完成：{sys_permission=id,name, sys_position=name,id, onl_drag_comp=id,comp_name, test_shoptype_tree=type_name,id, sys_dict=dict_code, airag_flow=name,id, oa_officialdoc_organcode=id,organ_name, demo=id,name, tj_user_report=name,username, sys_role=role_name,role_code, design_form=id,desform_name,desform_code, ces_shop_type=name,pid,id,has_child, sys_depart=id,org_code,depart_name, sys_user=phone,work_no,id,email,realname,username, onl_cgreport_head=code, sys_data_source=code,name, wu_liao=wul_name,id, sys_sms_template=template_code, sys_category=id,name, onl_cgform_head=table_txt,table_name, oa_wps_file=id,name, sys_tenant=name,id, airag_model=name,id}</td>
<td class="MethodOfCaller">init</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">59</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,234</td>
<td class="Message">checkWhiteList tableName: airag_flow</td>
<td class="MethodOfCaller">checkWhiteList</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">156</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,235</td>
<td class="Message">白名单校验：查询表&quot;airag_flow&quot;，查询字段 [name, id] 通过校验</td>
<td class="MethodOfCaller">checkWhiteList</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">195</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,235</td>
<td class="Message">  获取sql信息 ：[QueryTable{name=&#39;airag_flow&#39;, alias=&#39;&#39;, fields=[name, id], all=false}] </td>
<td class="MethodOfCaller">isPass</td>
<td class="FileOfCaller">AbstractQueryBlackListHandler.java</td>
<td class="LineOfCaller">66</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,245</td>
<td class="Message">字典拼接的查询SQL：select name,id from airag_model where model_type = &#39;LLM&#39; </td>
<td class="MethodOfCaller">isPassByDict</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">127</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,249</td>
<td class="Message">获取select sql信息 ：{airag_model=SelectSqlInfo{fromTableName=&#39;airag_model&#39;, fromSubSelect=null, aliasName=&#39;null&#39;, selectFields=[name, id], realSelectFields=[name, id], selectAll=false}} </td>
<td class="MethodOfCaller">isPassBySql</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">76</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,255</td>
<td class="Message">表字典白名单初始化完成：{sys_permission=id,name, sys_position=name,id, onl_drag_comp=id,comp_name, test_shoptype_tree=type_name,id, sys_dict=dict_code, airag_flow=name,id, oa_officialdoc_organcode=id,organ_name, demo=id,name, tj_user_report=name,username, sys_role=role_name,role_code, design_form=id,desform_name,desform_code, ces_shop_type=name,pid,id,has_child, sys_depart=id,org_code,depart_name, sys_user=phone,work_no,id,email,realname,username, onl_cgreport_head=code, sys_data_source=code,name, wu_liao=wul_name,id, sys_sms_template=template_code, sys_category=id,name, onl_cgform_head=table_txt,table_name, oa_wps_file=id,name, sys_tenant=name,id, airag_model=name,id}</td>
<td class="MethodOfCaller">init</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">59</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,256</td>
<td class="Message">checkWhiteList tableName: airag_model</td>
<td class="MethodOfCaller">checkWhiteList</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">156</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,256</td>
<td class="Message">白名单校验：查询表&quot;airag_model&quot;，查询字段 [name, id] 通过校验</td>
<td class="MethodOfCaller">checkWhiteList</td>
<td class="FileOfCaller">DictTableWhiteListHandlerImpl.java</td>
<td class="LineOfCaller">195</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:36,257</td>
<td class="Message">  获取sql信息 ：[QueryTable{name=&#39;airag_model&#39;, alias=&#39;&#39;, fields=[name, id], all=false}] </td>
<td class="MethodOfCaller">isPass</td>
<td class="FileOfCaller">AbstractQueryBlackListHandler.java</td>
<td class="LineOfCaller">66</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:31:49,817</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:06,312</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:10,133</td>
<td class="Message"> path = /online/cgform/head/list</td>
<td class="MethodOfCaller">getOnlinePossiblePaths</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">1805</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:10,134</td>
<td class="Message">获取的菜单地址= [/online/cgform/head/list]</td>
<td class="MethodOfCaller">queryPermissionDataRule</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">201</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:10,194</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:12,055</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:12,688</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:13,051</td>
<td class="Message"> path = /online/cgform/head/list</td>
<td class="MethodOfCaller">getOnlinePossiblePaths</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">1805</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:13,051</td>
<td class="Message">获取的菜单地址= [/online/cgform/head/list]</td>
<td class="MethodOfCaller">queryPermissionDataRule</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">201</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:13,068</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:16,113</td>
<td class="Message">======获取全部菜单数据=====耗时:58毫秒</td>
<td class="MethodOfCaller">list</td>
<td class="FileOfCaller">SysPermissionController.java</td>
<td class="LineOfCaller">114</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:19,773</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:20,694</td>
<td class="Message">-------通过数据库读取用户拥有的角色Rules------useId： e9ca23d68d884d4ebb19d07889727dae,Roles size: 2</td>
<td class="MethodOfCaller">getUserRoleSetById</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">1139</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:20,734</td>
<td class="Message">-------通过数据库读取用户拥有的权限Perms------userId： e9ca23d68d884d4ebb19d07889727dae,Perms size: 168</td>
<td class="MethodOfCaller">getUserPermissionSet</td>
<td class="FileOfCaller">SysBaseApiImpl.java</td>
<td class="LineOfCaller">1170</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:20,735</td>
<td class="Message">===============Shiro权限认证成功==============</td>
<td class="MethodOfCaller">doGetAuthorizationInfo</td>
<td class="FileOfCaller">ShiroRealm.java</td>
<td class="LineOfCaller">86</td>
</tr>

<tr class="info even">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:20,742</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>

<tr class="info odd">
<td class="Level">INFO</td>
<td class="Date">2025-08-19 00:32:23,596</td>
<td class="Message">单字段排序规则&gt;&gt; column:createTime,排序方式:desc</td>
<td class="MethodOfCaller">doMultiFieldsOrder</td>
<td class="FileOfCaller">QueryGenerator.java</td>
<td class="LineOfCaller">263</td>
</tr>
